package com.wzy.authority.service;


import com.alibaba.fastjson.JSONArray;
import com.wzy.authority.base.result.Results;
import com.wzy.authority.domain.SysPermission;

import java.util.List;

/**
 * @program: authorityManagement
 * @description: 用户菜单接口
 * @author: 1
 * @create: 2020-03-20 14:09
 **/
public interface    SysPermissionService {

    /**
     * 获取菜单列表
     * @return
     */
    Results<JSONArray> getAllMenuList();

    /**
     * 根据角色id获取权限数据
     * @param roleId
     * @return
     */
    Results<List<SysPermission>> getAllMenuListById(Integer roleId);


    /**
     * 获取所有的菜单信息
     * @return
     */
    Results<List<SysPermission>> getAllPermission();


    /**
     * 根据id获取菜单信息
     * @param id
     * @return
     */
    SysPermission getPermissionById(Integer id);


    /**
     * 保存菜单
     * @param sysPermission
     * @return
     */
    Results<Void> savePermission(SysPermission sysPermission);


    /**
     * 修改菜单信息
     * @param sysPermission
     * @return
     */
    Results<Void> editPermission(SysPermission sysPermission);

    /**
     * 根据permissionId 和 parentId 删除数据
     * @param permissionId
     * @return
     */
    Results<Void> deletePermission(Integer permissionId);


    /**
     * 获取菜单列表通过用户id
     * @param userId
     * @return
     */
    Results<JSONArray> getAllMenuListByUserId(Integer userId);


    /**
     * 获取权限列表,通过用户id
     */
    List<SysPermission> listByUserId(Integer userId);

}
